[INFO] fetching crate libcoap-rs 0.2.2...
[INFO] testing libcoap-rs-0.2.2 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate libcoap-rs 0.2.2 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate libcoap-rs 0.2.2
[INFO] finished tweaking crates.io crate libcoap-rs 0.2.2
[INFO] tweaked toml for crates.io crate libcoap-rs 0.2.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate libcoap-rs 0.2.2 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 121 packages to latest compatible versions
[INFO] [stderr]       Adding num-derive v0.3.3 (available: v0.4.2)
[INFO] [stderr]       Adding rand v0.8.5 (available: v0.10.0)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2b800060e9831978de31589577d1a81c470912af396968917d15347d0501de55
[INFO] running `Command { std: "docker" "start" "-a" "2b800060e9831978de31589577d1a81c470912af396968917d15347d0501de55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2b800060e9831978de31589577d1a81c470912af396968917d15347d0501de55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2b800060e9831978de31589577d1a81c470912af396968917d15347d0501de55", kill_on_drop: false }`
[INFO] [stdout] 2b800060e9831978de31589577d1a81c470912af396968917d15347d0501de55
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a6e1e058a4af9573e5b006bef771d2d172a7cced66d84151624bd133c4efac5b
[INFO] running `Command { std: "docker" "start" "-a" "a6e1e058a4af9573e5b006bef771d2d172a7cced66d84151624bd133c4efac5b", kill_on_drop: false }`
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling bindgen v0.65.1
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling autotools v0.2.7
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling openssl-sys v0.9.112
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling which v4.4.2
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling libcoap-sys v0.2.2+libcoap-4.3.1
[INFO] [stderr]    Compiling libcoap-rs v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/crypto.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 173 |             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stdout]     |                      ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stdout] 173 +             .map(|v| v as *const coap_dtls_spsk_info_t)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/resource.rs:374:18
[INFO] [stdout]     |
[INFO] [stdout] 374 |         self as &(dyn Any)
[INFO] [stdout]     |                  ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 374 -         self as &(dyn Any)
[INFO] [stdout] 374 +         self as &dyn Any
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `uri_path` and `as_any` are never used
[INFO] [stdout]    --> src/resource.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait UntypedCoapResource: Any + Debug {
[INFO] [stdout]     |           ------------------- methods in this trait
[INFO] [stdout] 106 |     /// Returns the uri_path this resource responds to.
[INFO] [stdout] 107 |     fn uri_path(&self) -> &str;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Rc::<T>::into_raw` that must be used
[INFO] [stdout]   --> src/mem.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Rc::into_raw(orig_ref);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: losing the pointer will leak memory
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let _ = Rc::into_raw(orig_ref);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mem.rs:177:19
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn borrow(&self) -> Ref<D> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn borrow(&self) -> Ref<'_, D> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mem.rs:185:23
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn borrow_mut(&self) -> RefMut<D> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn borrow_mut(&self) -> RefMut<'_, D> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::into_raw` that must be used
[INFO] [stdout]    --> src/mem.rs:334:9
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Box::into_raw(ref_box);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: losing the pointer will leak memory
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let _ = Box::into_raw(ref_box);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/message/mod.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn options_iter(&self) -> Iter<CoapOption> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn options_iter(&self) -> Iter<'_, CoapOption> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/protocol.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(FromPrimitive, Copy, Clone, Debug, PartialEq, Eq, Hash)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapOptionType`
[INFO] [stdout] 81 | pub enum CoapOptionType {
[INFO] [stdout]    |          -------------- `CoapOptionType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:206:23
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[derive(Copy, Clone, FromPrimitive, Eq, PartialEq, Hash, Debug)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapContentFormat`
[INFO] [stdout] 207 | #[non_exhaustive]
[INFO] [stdout] 208 | pub enum CoapContentFormat {
[INFO] [stdout]     |          ----------------- `CoapContentFormat` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[derive(FromPrimitive, Clone, Copy, Eq, PartialEq, Hash, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapRequestCode`
[INFO] [stdout] 302 | pub enum CoapRequestCode {
[INFO] [stdout]     |          --------------- `CoapRequestCode` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:374:23
[INFO] [stdout]     |
[INFO] [stdout] 374 | #[derive(Clone, Copy, FromPrimitive, Debug, Eq, PartialEq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapResponseCode`
[INFO] [stdout] 375 | pub enum CoapResponseCode {
[INFO] [stdout]     |          ---------------- `CoapResponseCode` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:471:44
[INFO] [stdout]     |
[INFO] [stdout] 471 | #[derive(Copy, Clone, Hash, Eq, PartialEq, FromPrimitive, Debug)]
[INFO] [stdout]     |                                            ^------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `FromPrimitive` is not local
[INFO] [stdout]     |                                            move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapMessageType`
[INFO] [stdout] 472 | pub enum CoapMessageType {
[INFO] [stdout]     |          --------------- `CoapMessageType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource.rs:288:22
[INFO] [stdout]     |
[INFO] [stdout] 288 |     pub fn user_data(&self) -> Ref<D> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 288 |     pub fn user_data(&self) -> Ref<'_, D> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource.rs:293:26
[INFO] [stdout]     |
[INFO] [stdout] 293 |     pub fn user_data_mut(&self) -> RefMut<D> {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 293 |     pub fn user_data_mut(&self) -> RefMut<'_, D> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:187:23
[INFO] [stdout]     |
[INFO] [stdout] 187 | #[derive(Copy, Clone, FromPrimitive, Debug, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapUriScheme`
[INFO] [stdout] 188 | pub enum CoapUriScheme {
[INFO] [stdout]     |          ------------- `CoapUriScheme` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types.rs:347:35
[INFO] [stdout]     |
[INFO] [stdout] 347 |     pub(crate) fn drain_path_iter(&mut self) -> Option<Drain<String>> {
[INFO] [stdout]     |                                   ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 347 |     pub(crate) fn drain_path_iter(&mut self) -> Option<Drain<'_, String>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn drain_query_iter(&mut self) -> Option<Drain<String>> {
[INFO] [stdout]     |                             ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn drain_query_iter(&mut self) -> Option<Drain<'_, String>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types.rs:362:23
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn query_iter(&self) -> Option<Iter<String>> {
[INFO] [stdout]     |                       ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn query_iter(&self) -> Option<Iter<'_, String>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:395:23
[INFO] [stdout]     |
[INFO] [stdout] 395 | #[derive(Copy, Clone, FromPrimitive, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapProtocol`
[INFO] [stdout] 396 | pub enum CoapProtocol {
[INFO] [stdout]     |          ------------ `CoapProtocol` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 48.99s
[INFO] running `Command { std: "docker" "inspect" "a6e1e058a4af9573e5b006bef771d2d172a7cced66d84151624bd133c4efac5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6e1e058a4af9573e5b006bef771d2d172a7cced66d84151624bd133c4efac5b", kill_on_drop: false }`
[INFO] [stdout] a6e1e058a4af9573e5b006bef771d2d172a7cced66d84151624bd133c4efac5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e196526305d5376803963cc95b138c66dba46db0928a07f9854419689839b95d
[INFO] running `Command { std: "docker" "start" "-a" "e196526305d5376803963cc95b138c66dba46db0928a07f9854419689839b95d", kill_on_drop: false }`
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/crypto.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 173 |             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stdout]     |                      ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stdout] 173 +             .map(|v| v as *const coap_dtls_spsk_info_t)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/resource.rs:374:18
[INFO] [stdout]     |
[INFO] [stdout] 374 |         self as &(dyn Any)
[INFO] [stdout]     |                  ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 374 -         self as &(dyn Any)
[INFO] [stdout] 374 +         self as &dyn Any
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `uri_path` and `as_any` are never used
[INFO] [stdout]    --> src/resource.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait UntypedCoapResource: Any + Debug {
[INFO] [stdout]     |           ------------------- methods in this trait
[INFO] [stdout] 106 |     /// Returns the uri_path this resource responds to.
[INFO] [stdout] 107 |     fn uri_path(&self) -> &str;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Rc::<T>::into_raw` that must be used
[INFO] [stdout]   --> src/mem.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Rc::into_raw(orig_ref);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: losing the pointer will leak memory
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let _ = Rc::into_raw(orig_ref);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mem.rs:177:19
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn borrow(&self) -> Ref<D> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn borrow(&self) -> Ref<'_, D> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mem.rs:185:23
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn borrow_mut(&self) -> RefMut<D> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn borrow_mut(&self) -> RefMut<'_, D> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::into_raw` that must be used
[INFO] [stdout]    --> src/mem.rs:334:9
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Box::into_raw(ref_box);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: losing the pointer will leak memory
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let _ = Box::into_raw(ref_box);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/message/mod.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn options_iter(&self) -> Iter<CoapOption> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn options_iter(&self) -> Iter<'_, CoapOption> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/protocol.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(FromPrimitive, Copy, Clone, Debug, PartialEq, Eq, Hash)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapOptionType`
[INFO] [stdout] 81 | pub enum CoapOptionType {
[INFO] [stdout]    |          -------------- `CoapOptionType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:206:23
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[derive(Copy, Clone, FromPrimitive, Eq, PartialEq, Hash, Debug)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapContentFormat`
[INFO] [stdout] 207 | #[non_exhaustive]
[INFO] [stdout] 208 | pub enum CoapContentFormat {
[INFO] [stdout]     |          ----------------- `CoapContentFormat` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[derive(FromPrimitive, Clone, Copy, Eq, PartialEq, Hash, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapRequestCode`
[INFO] [stdout] 302 | pub enum CoapRequestCode {
[INFO] [stdout]     |          --------------- `CoapRequestCode` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling libcoap-rs v0.2.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:374:23
[INFO] [stdout]     |
[INFO] [stdout] 374 | #[derive(Clone, Copy, FromPrimitive, Debug, Eq, PartialEq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapResponseCode`
[INFO] [stdout] 375 | pub enum CoapResponseCode {
[INFO] [stdout]     |          ---------------- `CoapResponseCode` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:471:44
[INFO] [stdout]     |
[INFO] [stdout] 471 | #[derive(Copy, Clone, Hash, Eq, PartialEq, FromPrimitive, Debug)]
[INFO] [stdout]     |                                            ^------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `FromPrimitive` is not local
[INFO] [stdout]     |                                            move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapMessageType`
[INFO] [stdout] 472 | pub enum CoapMessageType {
[INFO] [stdout]     |          --------------- `CoapMessageType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource.rs:288:22
[INFO] [stdout]     |
[INFO] [stdout] 288 |     pub fn user_data(&self) -> Ref<D> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 288 |     pub fn user_data(&self) -> Ref<'_, D> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource.rs:293:26
[INFO] [stdout]     |
[INFO] [stdout] 293 |     pub fn user_data_mut(&self) -> RefMut<D> {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 293 |     pub fn user_data_mut(&self) -> RefMut<'_, D> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:187:23
[INFO] [stdout]     |
[INFO] [stdout] 187 | #[derive(Copy, Clone, FromPrimitive, Debug, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapUriScheme`
[INFO] [stdout] 188 | pub enum CoapUriScheme {
[INFO] [stdout]     |          ------------- `CoapUriScheme` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types.rs:347:35
[INFO] [stdout]     |
[INFO] [stdout] 347 |     pub(crate) fn drain_path_iter(&mut self) -> Option<Drain<String>> {
[INFO] [stdout]     |                                   ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 347 |     pub(crate) fn drain_path_iter(&mut self) -> Option<Drain<'_, String>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn drain_query_iter(&mut self) -> Option<Drain<String>> {
[INFO] [stdout]     |                             ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn drain_query_iter(&mut self) -> Option<Drain<'_, String>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types.rs:362:23
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn query_iter(&self) -> Option<Iter<String>> {
[INFO] [stdout]     |                       ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn query_iter(&self) -> Option<Iter<'_, String>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:395:23
[INFO] [stdout]     |
[INFO] [stdout] 395 | #[derive(Copy, Clone, FromPrimitive, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapProtocol`
[INFO] [stdout] 396 | pub enum CoapProtocol {
[INFO] [stdout]     |          ------------ `CoapProtocol` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Condvar`, and `Mutex`
[INFO] [stdout]   --> tests/dtls_client_server_test.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::sync::{Arc, Condvar, Mutex};
[INFO] [stdout]    |                 ^^^  ^^^^^^^  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `identity`
[INFO] [stdout]   --> tests/dtls_client_server_test.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         identity: &CoapCryptoPskIdentity,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identity`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]    --> src/crypto.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 173 |             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stdout]     |                      ^                                 ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 173 -             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stdout] 173 +             .map(|v| v as *const coap_dtls_spsk_info_t)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/resource.rs:374:18
[INFO] [stdout]     |
[INFO] [stdout] 374 |         self as &(dyn Any)
[INFO] [stdout]     |                  ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 374 -         self as &(dyn Any)
[INFO] [stdout] 374 +         self as &dyn Any
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `uri_path` and `as_any` are never used
[INFO] [stdout]    --> src/resource.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub trait UntypedCoapResource: Any + Debug {
[INFO] [stdout]     |           ------------------- methods in this trait
[INFO] [stdout] 106 |     /// Returns the uri_path this resource responds to.
[INFO] [stdout] 107 |     fn uri_path(&self) -> &str;
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Rc::<T>::into_raw` that must be used
[INFO] [stdout]   --> src/mem.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         Rc::into_raw(orig_ref);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: losing the pointer will leak memory
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let _ = Rc::into_raw(orig_ref);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mem.rs:177:19
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn borrow(&self) -> Ref<D> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn borrow(&self) -> Ref<'_, D> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/mem.rs:185:23
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn borrow_mut(&self) -> RefMut<D> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn borrow_mut(&self) -> RefMut<'_, D> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::into_raw` that must be used
[INFO] [stdout]    --> src/mem.rs:334:9
[INFO] [stdout]     |
[INFO] [stdout] 334 |         Box::into_raw(ref_box);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: losing the pointer will leak memory
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 334 |         let _ = Box::into_raw(ref_box);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/message/mod.rs:223:21
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn options_iter(&self) -> Iter<CoapOption> {
[INFO] [stdout]     |                     ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn options_iter(&self) -> Iter<'_, CoapOption> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]   --> src/protocol.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 | #[derive(FromPrimitive, Copy, Clone, Debug, PartialEq, Eq, Hash)]
[INFO] [stdout]    |          ^------------
[INFO] [stdout]    |          |
[INFO] [stdout]    |          `FromPrimitive` is not local
[INFO] [stdout]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapOptionType`
[INFO] [stdout] 81 | pub enum CoapOptionType {
[INFO] [stdout]    |          -------------- `CoapOptionType` is not local
[INFO] [stdout]    |
[INFO] [stdout]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:206:23
[INFO] [stdout]     |
[INFO] [stdout] 206 | #[derive(Copy, Clone, FromPrimitive, Eq, PartialEq, Hash, Debug)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapContentFormat`
[INFO] [stdout] 207 | #[non_exhaustive]
[INFO] [stdout] 208 | pub enum CoapContentFormat {
[INFO] [stdout]     |          ----------------- `CoapContentFormat` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | #[derive(FromPrimitive, Clone, Copy, Eq, PartialEq, Hash, Debug)]
[INFO] [stdout]     |          ^------------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `FromPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapRequestCode`
[INFO] [stdout] 302 | pub enum CoapRequestCode {
[INFO] [stdout]     |          --------------- `CoapRequestCode` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:374:23
[INFO] [stdout]     |
[INFO] [stdout] 374 | #[derive(Clone, Copy, FromPrimitive, Debug, Eq, PartialEq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapResponseCode`
[INFO] [stdout] 375 | pub enum CoapResponseCode {
[INFO] [stdout]     |          ---------------- `CoapResponseCode` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/protocol.rs:471:44
[INFO] [stdout]     |
[INFO] [stdout] 471 | #[derive(Copy, Clone, Hash, Eq, PartialEq, FromPrimitive, Debug)]
[INFO] [stdout]     |                                            ^------------
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            `FromPrimitive` is not local
[INFO] [stdout]     |                                            move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapMessageType`
[INFO] [stdout] 472 | pub enum CoapMessageType {
[INFO] [stdout]     |          --------------- `CoapMessageType` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource.rs:288:22
[INFO] [stdout]     |
[INFO] [stdout] 288 |     pub fn user_data(&self) -> Ref<D> {
[INFO] [stdout]     |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 288 |     pub fn user_data(&self) -> Ref<'_, D> {
[INFO] [stdout]     |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/resource.rs:293:26
[INFO] [stdout]     |
[INFO] [stdout] 293 |     pub fn user_data_mut(&self) -> RefMut<D> {
[INFO] [stdout]     |                          ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 293 |     pub fn user_data_mut(&self) -> RefMut<'_, D> {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:187:23
[INFO] [stdout]     |
[INFO] [stdout] 187 | #[derive(Copy, Clone, FromPrimitive, Debug, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapUriScheme`
[INFO] [stdout] 188 | pub enum CoapUriScheme {
[INFO] [stdout]     |          ------------- `CoapUriScheme` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types.rs:347:35
[INFO] [stdout]     |
[INFO] [stdout] 347 |     pub(crate) fn drain_path_iter(&mut self) -> Option<Drain<String>> {
[INFO] [stdout]     |                                   ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 347 |     pub(crate) fn drain_path_iter(&mut self) -> Option<Drain<'_, String>> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types.rs:357:29
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn drain_query_iter(&mut self) -> Option<Drain<String>> {
[INFO] [stdout]     |                             ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 357 |     pub fn drain_query_iter(&mut self) -> Option<Drain<'_, String>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types.rs:362:23
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn query_iter(&self) -> Option<Iter<String>> {
[INFO] [stdout]     |                       ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn query_iter(&self) -> Option<Iter<'_, String>> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/types.rs:395:23
[INFO] [stdout]     |
[INFO] [stdout] 395 | #[derive(Copy, Clone, FromPrimitive, PartialEq, Eq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapProtocol`
[INFO] [stdout] 396 | pub enum CoapProtocol {
[INFO] [stdout]     |          ------------ `CoapProtocol` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.72s
[INFO] running `Command { std: "docker" "inspect" "e196526305d5376803963cc95b138c66dba46db0928a07f9854419689839b95d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e196526305d5376803963cc95b138c66dba46db0928a07f9854419689839b95d", kill_on_drop: false }`
[INFO] [stdout] e196526305d5376803963cc95b138c66dba46db0928a07f9854419689839b95d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8b45d3fc6147a94bf9cba99ac60c21d5b0095dc8830faaa4b767f59274318e34
[INFO] running `Command { std: "docker" "start" "-a" "8b45d3fc6147a94bf9cba99ac60c21d5b0095dc8830faaa4b767f59274318e34", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around closure body
[INFO] [stderr]    --> src/crypto.rs:173:22
[INFO] [stderr]     |
[INFO] [stderr] 173 |             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stderr]     |                      ^                                 ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 173 -             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stderr] 173 +             .map(|v| v as *const coap_dtls_spsk_info_t)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/resource.rs:374:18
[INFO] [stderr]     |
[INFO] [stderr] 374 |         self as &(dyn Any)
[INFO] [stderr]     |                  ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 374 -         self as &(dyn Any)
[INFO] [stderr] 374 +         self as &dyn Any
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: methods `uri_path` and `as_any` are never used
[INFO] [stderr]    --> src/resource.rs:107:8
[INFO] [stderr]     |
[INFO] [stderr] 105 | pub trait UntypedCoapResource: Any + Debug {
[INFO] [stderr]     |           ------------------- methods in this trait
[INFO] [stderr] 106 |     /// Returns the uri_path this resource responds to.
[INFO] [stderr] 107 |     fn uri_path(&self) -> &str;
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 114 |     fn as_any(&self) -> &dyn Any;
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Rc::<T>::into_raw` that must be used
[INFO] [stderr]   --> src/mem.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 |         Rc::into_raw(orig_ref);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: losing the pointer will leak memory
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let _ = Rc::into_raw(orig_ref);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/mem.rs:177:19
[INFO] [stderr]     |
[INFO] [stderr] 177 |     pub fn borrow(&self) -> Ref<D> {
[INFO] [stderr]     |                   ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 177 |     pub fn borrow(&self) -> Ref<'_, D> {
[INFO] [stderr]     |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/mem.rs:185:23
[INFO] [stderr]     |
[INFO] [stderr] 185 |     pub fn borrow_mut(&self) -> RefMut<D> {
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 185 |     pub fn borrow_mut(&self) -> RefMut<'_, D> {
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Box::<T>::into_raw` that must be used
[INFO] [stderr]    --> src/mem.rs:334:9
[INFO] [stderr]     |
[INFO] [stderr] 334 |         Box::into_raw(ref_box);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: losing the pointer will leak memory
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 334 |         let _ = Box::into_raw(ref_box);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/message/mod.rs:223:21
[INFO] [stderr]     |
[INFO] [stderr] 223 |     fn options_iter(&self) -> Iter<CoapOption> {
[INFO] [stderr]     |                     ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 223 |     fn options_iter(&self) -> Iter<'_, CoapOption> {
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]   --> src/protocol.rs:80:10
[INFO] [stderr]    |
[INFO] [stderr] 80 | #[derive(FromPrimitive, Copy, Clone, Debug, PartialEq, Eq, Hash)]
[INFO] [stderr]    |          ^------------
[INFO] [stderr]    |          |
[INFO] [stderr]    |          `FromPrimitive` is not local
[INFO] [stderr]    |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapOptionType`
[INFO] [stderr] 81 | pub enum CoapOptionType {
[INFO] [stderr]    |          -------------- `CoapOptionType` is not local
[INFO] [stderr]    |
[INFO] [stderr]    = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]    = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]    = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]    = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]    = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]    = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/protocol.rs:206:23
[INFO] [stderr]     |
[INFO] [stderr] 206 | #[derive(Copy, Clone, FromPrimitive, Eq, PartialEq, Hash, Debug)]
[INFO] [stderr]     |                       ^------------
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       `FromPrimitive` is not local
[INFO] [stderr]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapContentFormat`
[INFO] [stderr] 207 | #[non_exhaustive]
[INFO] [stderr] 208 | pub enum CoapContentFormat {
[INFO] [stderr]     |          ----------------- `CoapContentFormat` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/protocol.rs:301:10
[INFO] [stderr]     |
[INFO] [stderr] 301 | #[derive(FromPrimitive, Clone, Copy, Eq, PartialEq, Hash, Debug)]
[INFO] [stderr]     |          ^------------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `FromPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapRequestCode`
[INFO] [stderr] 302 | pub enum CoapRequestCode {
[INFO] [stderr]     |          --------------- `CoapRequestCode` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/protocol.rs:374:23
[INFO] [stderr]     |
[INFO] [stderr] 374 | #[derive(Clone, Copy, FromPrimitive, Debug, Eq, PartialEq, Hash)]
[INFO] [stderr]     |                       ^------------
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       `FromPrimitive` is not local
[INFO] [stderr]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapResponseCode`
[INFO] [stderr] 375 | pub enum CoapResponseCode {
[INFO] [stderr]     |          ---------------- `CoapResponseCode` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/protocol.rs:471:44
[INFO] [stderr]     |
[INFO] [stderr] 471 | #[derive(Copy, Clone, Hash, Eq, PartialEq, FromPrimitive, Debug)]
[INFO] [stderr]     |                                            ^------------
[INFO] [stderr]     |                                            |
[INFO] [stderr]     |                                            `FromPrimitive` is not local
[INFO] [stderr]     |                                            move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapMessageType`
[INFO] [stderr] 472 | pub enum CoapMessageType {
[INFO] [stderr]     |          --------------- `CoapMessageType` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/resource.rs:288:22
[INFO] [stderr]     |
[INFO] [stderr] 288 |     pub fn user_data(&self) -> Ref<D> {
[INFO] [stderr]     |                      ^^^^^     ^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 288 |     pub fn user_data(&self) -> Ref<'_, D> {
[INFO] [stderr]     |                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/resource.rs:293:26
[INFO] [stderr]     |
[INFO] [stderr] 293 |     pub fn user_data_mut(&self) -> RefMut<D> {
[INFO] [stderr]     |                          ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 293 |     pub fn user_data_mut(&self) -> RefMut<'_, D> {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/types.rs:187:23
[INFO] [stderr]     |
[INFO] [stderr] 187 | #[derive(Copy, Clone, FromPrimitive, Debug, PartialEq, Eq, Hash)]
[INFO] [stderr]     |                       ^------------
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       `FromPrimitive` is not local
[INFO] [stderr]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapUriScheme`
[INFO] [stderr] 188 | pub enum CoapUriScheme {
[INFO] [stderr]     |          ------------- `CoapUriScheme` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types.rs:347:35
[INFO] [stderr]     |
[INFO] [stderr] 347 |     pub(crate) fn drain_path_iter(&mut self) -> Option<Drain<String>> {
[INFO] [stderr]     |                                   ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                   |
[INFO] [stderr]     |                                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 347 |     pub(crate) fn drain_path_iter(&mut self) -> Option<Drain<'_, String>> {
[INFO] [stderr]     |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types.rs:357:29
[INFO] [stderr]     |
[INFO] [stderr] 357 |     pub fn drain_query_iter(&mut self) -> Option<Drain<String>> {
[INFO] [stderr]     |                             ^^^^^^^^^            ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 357 |     pub fn drain_query_iter(&mut self) -> Option<Drain<'_, String>> {
[INFO] [stderr]     |                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types.rs:362:23
[INFO] [stderr]     |
[INFO] [stderr] 362 |     pub fn query_iter(&self) -> Option<Iter<String>> {
[INFO] [stderr]     |                       ^^^^^            ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 362 |     pub fn query_iter(&self) -> Option<Iter<'_, String>> {
[INFO] [stderr]     |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/types.rs:395:23
[INFO] [stderr]     |
[INFO] [stderr] 395 | #[derive(Copy, Clone, FromPrimitive, PartialEq, Eq, Hash)]
[INFO] [stderr]     |                       ^------------
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       `FromPrimitive` is not local
[INFO] [stderr]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CoapProtocol`
[INFO] [stderr] 396 | pub enum CoapProtocol {
[INFO] [stderr]     |          ------------ `CoapProtocol` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `libcoap-rs` (lib) generated 20 warnings (run `cargo fix --lib -p libcoap-rs` to apply 10 suggestions)
[INFO] [stderr] warning: `libcoap-rs` (lib test) generated 20 warnings (20 duplicates)
[INFO] [stderr] warning: unused imports: `Arc`, `Condvar`, and `Mutex`
[INFO] [stderr]   --> tests/dtls_client_server_test.rs:12:17
[INFO] [stderr]    |
[INFO] [stderr] 12 | use std::sync::{Arc, Condvar, Mutex};
[INFO] [stderr]    |                 ^^^  ^^^^^^^  ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `identity`
[INFO] [stderr]   --> tests/dtls_client_server_test.rs:35:9
[INFO] [stderr]    |
[INFO] [stderr] 35 |         identity: &CoapCryptoPskIdentity,
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identity`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `libcoap-rs` (test "dtls_client_server_test") generated 2 warnings (run `cargo fix --test "dtls_client_server_test" -p libcoap-rs` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/libcoap_rs-91d29ea2345b98b5)
[INFO] [stderr]      Running tests/dtls_client_server_test.rs (/opt/rustwide/target/debug/deps/dtls_client_server_test-fca86ef1ad476c82)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/udp_client_server_test.rs (/opt/rustwide/target/debug/deps/udp_client_server_test-a9440bd7e91a87c5)
[INFO] [stdout] test dtls_client_server_request ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test basic_client_server_request ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests libcoap_rs
[INFO] [stderr] warning: unnecessary parentheses around closure body
[INFO] [stderr]    --> src/crypto.rs:173:22
[INFO] [stderr]     |
[INFO] [stderr] 173 |             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stderr]     |                      ^                                 ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 173 -             .map(|v| (v as *const coap_dtls_spsk_info_t))
[INFO] [stderr] 173 +             .map(|v| v as *const coap_dtls_spsk_info_t)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/resource.rs:374:18
[INFO] [stderr]     |
[INFO] [stderr] 374 |         self as &(dyn Any)
[INFO] [stderr]     |                  ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 374 -         self as &(dyn Any)
[INFO] [stderr] 374 +         self as &dyn Any
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/lib.rs - (line 42) - compile ... ok
[INFO] [stdout] test src/lib.rs - (line 92) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "8b45d3fc6147a94bf9cba99ac60c21d5b0095dc8830faaa4b767f59274318e34", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b45d3fc6147a94bf9cba99ac60c21d5b0095dc8830faaa4b767f59274318e34", kill_on_drop: false }`
[INFO] [stdout] 8b45d3fc6147a94bf9cba99ac60c21d5b0095dc8830faaa4b767f59274318e34
